Multiplexing is a conventional technique well known in the communication arts. In conventional multiplexing, several input data streams are combined or merged (i.e. multiplexed) into a single output stream and transmitted over a single channel. Typically, the communications channel is of a substantially higher data rate than the data rate of any of the input data streams. Multiplexing is an effective technique that is used to reduce the number of separate links required to transmit information from multiple sources from one point to another.
Inverse multiplexing is also a technique well known in the communication arts. In this technique, rather than combine data from separate sources into a single output stream, data from one source is split into multiple streams. Inverse multiplexing is often used in cases where high-speed links are not available to carry a high rate data stream. Rather than transmit the data over a single link, the input data is split into multiple streams and transmitted over several links that may be at a lower rate than the input. Inverse multiplexing is used, for example, with Gigabit Ethernet wherein a 1 Gbps stream is split into and transmitted over 4 separate links or 250 Mbps each. At the transmitter, the input stream is split into a plurality of slower output streams, each output stream is transmitted and collected at the receiver where they are all combined to generate the original data stream.
To implement inverse multiplexing, most systems modify the packets or frames before they are sent over the separate links. The modifications made typically include the insertion of labels, indications, sequence numbers, etc. that are required for the receiver to be able to determine the original order of the packets. Without the packet modifications, the receiver would not know how to combine (i.e. reproduce the original order of) the packets it receives over the separate links.
A problem with this prior art scheme, however, is that in some systems it is not practical or not permitted to modify packets for transmission over the separate links. Thus, prior art inverse multiplexing techniques cannot be used in systems that do not permit modifications to the packets.
Other prior art solutions permit grouping several physical channels into a logical channel. In such prior art systems, however, usage as a single logical channel is implemented by grouping the physical channels according to channel capacities. Thus, physical channels having different bandwidths cannot be grouped together to form a single logical channel.
The IEEE 802.3ad-2000 standard entitled “Amendment to Carrier Sense Multiple Access with Collision Detection (CMSA/CD) Access Method and Physical Layer Specifications—Aggregation of Multiple Link Segments” describes a data transmission scheme. The major disadvantages of this scheme are (1) the standard contemplates many data substreams (i.e. conversations) in the stream and (2) each substream can use only one physical channel. Thus, traffic balancing is very restricted and in the case of one substream in the stream, no parallel transmission occurs at all and only equal capacity channels are considered.
There is thus a need for a scheme that is capable of transmitting an input data stream over a plurality of links and recombining the separate streams at the receiver without requiring any modifications to be made to the packets and that also permits the grouping of physical channels without regard to their bandwidth capacities.